Typically an in-memory database management system (DBMS) stores data and change logs in non-volatile storage devices (e.g. hard disk drives (HDDs) or solid-state drives (SSDs)) to ensure durability of data and executes frequent operations on data in memory for better performance. When the database management system stops and restarts, data is loaded from non-volatile storage into memory.
Loading data from non-volatile storage into memory can be a time consuming process particularly if a large amount of data needs to be loaded into memory, which can be the case with an in-memory database management system. In addition, the database management system may be unavailable during the time it takes to load the data into memory.
Therefore, there exists ample opportunity for improvement in technologies related to memory management within database management systems or other applications.